package common

import (
	"encoding"
)

var (
	//找不到Key的错误
	Err_Key_not_Found = NewError(-1, "key %s not found")
)

type GMap map[string]string

// 获取数据
func (this GMap) Get(key string) (*String, bool) {
	if val, ok := this[key]; ok {
		return NewString(val), true
	}
	return nil, false
}

// GetStruct 获取数据填充结构
func (this GMap) GetStruct(key string, v encoding.BinaryUnmarshaler) error {
	if val, ok := this[key]; ok {
		return v.UnmarshalBinary([]byte(val))
	}
	return Err_Key_not_Found.NewErr(nil, key)
}
